// class 的语法糖
'use strict';  // 加这句话才能用 class
class Student {
    constructor(name) { this.name = name; }
    hello() { console.log('Hello, ' + this.name + '!'); }
}  // 避免了Student.prototype.hello = function () {...} 这样分散的代码
var xiaoming = new Student('小明');
xiaoming.hello();
class PrimaryStudent extends Student {  // extends 则表示原型链对象来自 Student
    constructor(name, grade) { super(name); this.grade = grade; }  // 记得用 super 调用父类的构造方法
    myGrade() { console.log('I am at grade ' + this.grade); }
}
// ES6 引入的 class 和原有的 JavaScript 原型继承没有任何区别, class 的作用就是让 JavaScript 引擎去实现原来需要我们自己编写的原型链代码
var xiaoming = new PrimaryStudent('小明', 1);
xiaoming.hello();
xiaoming.myGrade();

